Often, a project can required managing multiple versions of software, for example, engine firmware on printers and image forming apparatuses. Each version can have some functional differences between them. For example, generally, an administration or user will need to test each version in conjunction with, for example, a single version of a digital front end controller (DFE). In addition, the digital front end controller (DFE) has to have the ability to work with those multiple engine firmware versions.
However, if the wrong version is installed and connected to, for example, a DFE, it would be desirable to have method and system of managing the software since it could be difficult to manage a plurality of versions of software/firmware inside each of the devices (print engine, DFE). In addition, it would be desirable to have a software configuration tool that can manage different software versions each of the devices inside a network environment.
In a multi-device environment, many devices can be interconnected to each other through the network. Due to this interconnectivity, the software versions of each of the devices must be compatible with each other. For example, to print a job, you will need a printer driver installed in a user's PC, but you will also need the firmware running inside the print engine that must be compatible to the printer driver. If, for example, the printer driver version is new, and some of the new features that the print engine firmware cannot support, the printer may display an “unsupported feature” message.
Currently, to ensure the proper version of software, a system administrator has to manually check each version (in the case of, for example, a printer, the administrator must print out the configuration page) against each other to ensure they are all compatible. In some cases, even if they are compatible, they may not be the latest version available on the system. In other cases, the user or system administrator intentionally does not want to put the latest version perhaps because it is less stable than an older version. In accordance with an exemplary embodiment, a method and system are disclosed for managing the installed software on the network to ensure, for example, compatibility among the latest version of the software within one or more devices, including compatibility, wherein more than one configuration may exist.